#ifndef tokens_h
#define tokens_h
/* tokens.h -- List of labelled tokens and stuff
 *
 * Generated from: cl.g
 *
 * Terence Parr, Will Cohen, and Hank Dietz: 1989-2001
 * Purdue University Electrical Engineering
 * ANTLR Version 1.33MR33
 */
#define zzEOF_TOKEN 1
#define INPUTEND 1
#define PROGRAM 2
#define ENDPROGRAM 3
#define VARS 4
#define ENDVARS 5
#define INT 6
#define BOOL 7
#define STRUCT 8
#define ENDSTRUCT 9
#define WRITELN 10
#define GRATER 11
#define SMALLER 12
#define SAME 13
#define AND 14
#define OR 15
#define PLUS 16
#define MINUS 17
#define DIV 18
#define MUL 19
#define B_TRUE 20
#define B_FALSE 21
#define NOT 22
#define IF 23
#define ELSE 24
#define THEN 25
#define ENDIF 26
#define WHILE 27
#define DO 28
#define ENDWHILE 29
#define PROCEDURE 30
#define VAL 31
#define REF 32
#define ENDPROCEDURE 33
#define ARRAY 34
#define OPENCOR 35
#define CLOSECOR 36
#define OF 37
#define OPENPAR 38
#define CLOSEPAR 39
#define ASIG 40
#define DOT 41
#define COMA 42
#define IDENT 43
#define INTCONST 44
#define COMMENT 45
#define WHITESPACE 46
#define NEWLINE 47
#define LEXICALERROR 48
#define FUNCTION 49
#define ENDFUNCTION 50
#define STRING 51

#ifdef __USE_PROTOS
void program(AST**_root);
#else
extern void program();
#endif

#ifdef __USE_PROTOS
void dec_vars(AST**_root);
#else
extern void dec_vars();
#endif

#ifdef __USE_PROTOS
void l_dec_vars(AST**_root);
#else
extern void l_dec_vars();
#endif

#ifdef __USE_PROTOS
void dec_var(AST**_root);
#else
extern void dec_var();
#endif

#ifdef __USE_PROTOS
void proc(AST**_root);
#else
extern void proc();
#endif

#ifdef __USE_PROTOS
void proc_param(AST**_root);
#else
extern void proc_param();
#endif

#ifdef __USE_PROTOS
void l_proc_param(AST**_root);
#else
extern void l_proc_param();
#endif

#ifdef __USE_PROTOS
void param(AST**_root);
#else
extern void param();
#endif

#ifdef __USE_PROTOS
void l_dec_blocs(AST**_root);
#else
extern void l_dec_blocs();
#endif

#ifdef __USE_PROTOS
void dec_bloc(AST**_root);
#else
extern void dec_bloc();
#endif

#ifdef __USE_PROTOS
void constr_type(AST**_root);
#else
extern void constr_type();
#endif

#ifdef __USE_PROTOS
void field(AST**_root);
#else
extern void field();
#endif

#ifdef __USE_PROTOS
void l_instrs(AST**_root);
#else
extern void l_instrs();
#endif

#ifdef __USE_PROTOS
void instruction(AST**_root);
#else
extern void instruction();
#endif

#ifdef __USE_PROTOS
void expression(AST**_root);
#else
extern void expression();
#endif

#ifdef __USE_PROTOS
void expression_gs(AST**_root);
#else
extern void expression_gs();
#endif

#ifdef __USE_PROTOS
void expression_pm(AST**_root);
#else
extern void expression_pm();
#endif

#ifdef __USE_PROTOS
void expression_term(AST**_root);
#else
extern void expression_term();
#endif

#ifdef __USE_PROTOS
void expsimple(AST**_root);
#else
extern void expsimple();
#endif

#ifdef __USE_PROTOS
void expident(AST**_root);
#else
extern void expident();
#endif

#ifdef __USE_PROTOS
void params(AST**_root);
#else
extern void params();
#endif

#endif
extern SetWordType zzerr1[];
extern SetWordType zzerr2[];
extern SetWordType setwd1[];
extern SetWordType zzerr3[];
extern SetWordType zzerr4[];
extern SetWordType zzerr5[];
extern SetWordType setwd2[];
extern SetWordType zzerr6[];
extern SetWordType zzerr7[];
extern SetWordType zzerr8[];
extern SetWordType zzerr9[];
extern SetWordType zzerr10[];
extern SetWordType zzerr11[];
extern SetWordType setwd3[];
extern SetWordType zzerr12[];
extern SetWordType zzerr13[];
extern SetWordType zzerr14[];
extern SetWordType zzerr15[];
extern SetWordType zzerr16[];
extern SetWordType setwd4[];
extern SetWordType zzerr17[];
extern SetWordType setwd5[];
